package com.shujia.scala

import scala.collection.{immutable, mutable}

object Demo22Map {
  def main(args: Array[String]): Unit = {
    /**
      * 不可变map
      *
      * "003" -> "王五" 构建二元组的简写
      */
    val map = Map(("001", "张三"), ("002", "李四"), "003" -> "王五")


    println(map)

    //同故宫key 获取value
    println(map("003"))

    //如果keu 存在返回value 如果key 不存在返回后面的默认值
    println(map.getOrElse("001", "默认值"))

    /**
      * Map 集合的map方法  传给后面函数的参数是一个二元组，可以通过下标获取key和value
      *
      */

    val values = map.map((kv: (String, String)) => kv._2)

    println(values)


    //获取key和value
    println(map.values)
    println(map.keys)


    //遍历mao
    map.foreach(println)

    /**
      * 可变的map
      *
      */

    val hashMap = new mutable.HashMap[String, String]()

    //保存元素
    hashMap.put("001", "张三")

    hashMap.+=(("002", "李四"))

    hashMap += "003" -> "王五"

    println(hashMap)

    //删除元素
    hashMap.remove("001")
    hashMap -= "002"

    println(hashMap)


  }

}
